package cn.fl.dk.base.transform;

import cn.cmm.base.framework.utils.DateUtils;
import cn.fl.dk.facade.dto.DkBillDtlDTO;
import cn.fl.dk.web.vo.DkBillDtlVO;


/**
 * @Description: 垫款单明细表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class BaseDkBillDtlVOTransform {


	/**
	 * DTO 转  VO
	 * @return DkBillDtlVO
	 */
	public static DkBillDtlVO baseToVO(DkBillDtlDTO dto) {
		DkBillDtlVO  vo = null;
		if (dto != null) { 
			vo = new DkBillDtlVO();
			vo.setId(dto.getId());
			vo.setBillId(dto.getBillId());//垫款单Id
			vo.setRuleId(dto.getRuleId());//垫款规则表Id
			vo.setBillNm(dto.getBillNm());//垫款单名称
			vo.setPaySchId(dto.getPaySchId());//支付表Id
			vo.setPaySchNo(dto.getPaySchNo());//支付表编号
			vo.setEstimateRedeemAmt(dto.getEstimateRedeemAmt());//预计垫款/赎回金额
			vo.setActualRedeemAmt(dto.getActualRedeemAmt());//实际垫款/赎回金额
			vo.setCalcRstCd(dto.getCalcRstCd());//垫款测算结果 0：空 1：垫款  2：赎回
			vo.setDtlStsCd(dto.getDtlStsCd());//垫款明细状态 0空、1已垫款、2已赎回(删除时按此状态排除)
			vo.setRuleFlag(dto.getRuleFlag());//支付表编号 + - + 期次
			vo.setCstMgrOrgCd(dto.getCstMgrOrgCd());//根据支付表对应项目的客户经理所属组织机构CD
			vo.setCstMgrOrgNm(dto.getCstMgrOrgNm());//支付表对应客户经理所属组织架构名称
			vo.setIsDel(dto.getIsDel());//是否删除 0:否  1：是
			vo.setDetailRem(dto.getDetailRem());//备注
			vo.setCrtUsrNm(dto.getCrtUsrNm());//创建人名称
			vo.setCstNm(dto.getCstNm());//CST_NM
			vo.setCstId(dto.getCstId());//CST_ID

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			vo.setPrdStsCd(dto.getPrdStsCd());
			vo.setPrdStsCdNm(dto.getPrdStsCdNm());
			vo.setOverdueDay(dto.getOverdueDay());
			vo.setOverdueAmount(dto.getOverdueAmount());
			vo.setPayPd(dto.getPayPd());
			vo.setLsDt(DateUtils.formatDateToString(dto.getLsDt(),DateUtils.YYYY_MM_DD));
			vo.setPenaltyAmount(dto.getPenaltyAmount());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @return DkBillDtlDTO
	 */
	public static DkBillDtlDTO baseToDTO(DkBillDtlVO vo) {
		DkBillDtlDTO dto = null;
		if (vo != null) {
			dto = new DkBillDtlDTO();
			dto.setId(vo.getId());
			dto.setBillId(vo.getBillId());//垫款单Id
			dto.setRuleId(vo.getRuleId());//垫款规则表Id
			dto.setBillNm(vo.getBillNm());//垫款单名称
			dto.setPaySchId(vo.getPaySchId());//支付表Id
			dto.setPaySchNo(vo.getPaySchNo());//支付表编号
			dto.setEstimateRedeemAmt(vo.getEstimateRedeemAmt());//预计垫款/赎回金额
			dto.setActualRedeemAmt(vo.getActualRedeemAmt());//实际垫款/赎回金额
			dto.setCalcRstCd(vo.getCalcRstCd());//垫款测算结果 0：空 1：垫款  2：赎回
			dto.setDtlStsCd(vo.getDtlStsCd());//垫款明细状态 0空、1已垫款、2已赎回(删除时按此状态排除)
			dto.setRuleFlag(vo.getRuleFlag());//支付表编号 + - + 期次
			dto.setCstMgrOrgCd(vo.getCstMgrOrgCd());//根据支付表对应项目的客户经理所属组织机构CD
			dto.setCstMgrOrgNm(vo.getCstMgrOrgNm());//支付表对应客户经理所属组织架构名称
			dto.setIsDel(vo.getIsDel());//是否删除 0:否  1：是
			dto.setDetailRem(vo.getDetailRem());//备注
			dto.setCrtUsrNm(vo.getCrtUsrNm());//创建人名称
			dto.setCstNm(vo.getCstNm());//CST_NM
			dto.setCstId(vo.getCstId());//CST_ID

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			dto.setPrdStsCd(vo.getPrdStsCd());
			dto.setPrdStsCdNm(vo.getPrdStsCdNm());
			dto.setOverdueDay(vo.getOverdueDay());
			dto.setOverdueAmount(vo.getOverdueAmount());
			dto.setPayPd(vo.getPayPd());
			dto.setPenaltyAmount(vo.getPenaltyAmount());
			dto.setLsDt(DateUtils.formatStringToDate(vo.getLsDt(),DateUtils.YYYY_MM_DD));
		}
		return dto;
	}
}
